From 9805f709132decd152b4e4ed7034f7a83578450c Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Wed, 27 Jan 2016 16:13:41 +0100 Subject: [PATCH 1/3] VideoConfig: Replace FastDepthCalc by ForcedSlowDepth. Fast depth is now more accurate than slow depth and should always be used. The option will be kept in a different form as it is still used as a hack to fix some games. Also, the slow depth code path will still be relied upon by cards that don't support GL_ARB_clip_control. --- Source/Core/DolphinWX/VideoConfigDiag.cpp | 2 -- Source/Core/VideoCommon/PixelShaderGen.cpp | 24 +++++++++++++-------- Source/Core/VideoCommon/PixelShaderGen.h | 2 +- Source/Core/VideoCommon/VertexShaderGen.cpp | 2 +- Source/Core/VideoCommon/VideoConfig.cpp | 6 +++--- Source/Core/VideoCommon/VideoConfig.h | 2 +- 6 files changed, 21 insertions(+), 17 deletions(-) diff --git a/Source/Core/DolphinWX/VideoConfigDiag.cpp b/Source/Core/DolphinWX/VideoConfigDiag.cpp index d43c639842..6df2a83afc 100644 --- a/Source/Core/DolphinWX/VideoConfigDiag.cpp +++ b/Source/Core/DolphinWX/VideoConfigDiag.cpp @@ -108,7 +108,6 @@ static wxString af_desc = wxTRANSLATE("Enable anisotropic filtering.\nEnhances v static wxString aa_desc = wxTRANSLATE("Reduces the amount of aliasing caused by rasterizing 3D graphics. This smooths out jagged edges on objects.\nIncreases GPU load and sometimes causes graphical issues. SSAA is significantly more demanding than MSAA, but provides top quality geometry anti-aliasing and also applies anti-aliasing to lighting, shader effects, and textures.\n\nIf unsure, select None."); static wxString scaled_efb_copy_desc = wxTRANSLATE("Greatly increases quality of textures generated using render-to-texture effects.\nRaising the internal resolution will improve the effect of this setting.\nSlightly increases GPU load and causes relatively few graphical issues.\n\nIf unsure, leave this checked."); static wxString pixel_lighting_desc = wxTRANSLATE("Calculates lighting of 3D objects per-pixel rather than per-vertex, smoothing out the appearance of lit polygons and making individual triangles less noticeable.\nRarely causes slowdowns or graphical issues.\n\nIf unsure, leave this unchecked."); -static wxString fast_depth_calc_desc = wxTRANSLATE("Use a less accurate algorithm to calculate depth values.\nCauses issues in a few games, but can give a decent speedup depending on the game and/or your GPU.\n\nIf unsure, leave this checked."); static wxString disable_bbox_desc = wxTRANSLATE("Disable the bounding box emulation.\nThis may improve the GPU performance a lot, but some games will break.\n\nIf unsure, leave this checked."); static wxString force_filtering_desc = wxTRANSLATE("Filter all textures, including any that the game explicitly set as unfiltered.\nMay improve quality of certain textures in some games, but will cause issues in others.\nOn Direct3D, setting Anisotropic Filtering above 1x will also have the same effect as enabling this option.\n\nIf unsure, leave this unchecked."); static wxString borderless_fullscreen_desc = wxTRANSLATE("Implement fullscreen mode with a borderless window spanning the whole screen instead of using exclusive mode.\nAllows for faster transitions between fullscreen and windowed mode, but slightly increases input latency, makes movement less smooth and slightly decreases performance.\nExclusive mode is required for Nvidia 3D Vision to work in the Direct3D backend.\n\nIf unsure, leave this unchecked."); @@ -517,7 +516,6 @@ VideoConfigDiag::VideoConfigDiag(wxWindow* parent, const std::string &title, con // - other hacks { wxGridSizer* const szr_other = new wxGridSizer(2, 5, 5); - szr_other->Add(CreateCheckBox(page_hacks, _("Fast Depth Calculation"), wxGetTranslation(fast_depth_calc_desc), vconfig.bFastDepthCalc)); szr_other->Add(CreateCheckBox(page_hacks, _("Disable Bounding Box"), wxGetTranslation(disable_bbox_desc), vconfig.bBBoxEnable, true)); wxStaticBoxSizer* const group_other = new wxStaticBoxSizer(wxVERTICAL, page_hacks, _("Other")); diff --git a/Source/Core/VideoCommon/PixelShaderGen.cpp b/Source/Core/VideoCommon/PixelShaderGen.cpp index f9781c5217..09f8c6a871 100644 --- a/Source/Core/VideoCommon/PixelShaderGen.cpp +++ b/Source/Core/VideoCommon/PixelShaderGen.cpp @@ -285,13 +285,14 @@ static T GeneratePixelShader(DSTALPHA_MODE dstAlphaMode, API_TYPE ApiType) GenerateVSOutputMembers(out, ApiType); out.Write("};\n"); + const bool forced_slow_depth = g_ActiveConfig.bForcedSlowDepth || !g_ActiveConfig.backend_info.bSupportsClipControl; const bool forced_early_z = g_ActiveConfig.backend_info.bSupportsEarlyZ && bpmem.UseEarlyDepthTest() - && (g_ActiveConfig.bFastDepthCalc || bpmem.alpha_test.TestResult() == AlphaTest::UNDETERMINED) + && (!forced_slow_depth || bpmem.alpha_test.TestResult() == AlphaTest::UNDETERMINED) // We can't allow early_ztest for zfreeze because depth is overridden per-pixel. // This means it's impossible for zcomploc to be emulated on a zfrozen polygon. && !(bpmem.zmode.testenable && bpmem.genMode.zfreeze); const bool per_pixel_depth = (bpmem.ztex2.op != ZTEXTURE_DISABLE && bpmem.UseLateDepthTest()) - || (!g_ActiveConfig.bFastDepthCalc && bpmem.zmode.testenable && !forced_early_z) + || (forced_slow_depth && bpmem.zmode.testenable && !forced_early_z) || (bpmem.zmode.testenable && bpmem.genMode.zfreeze); if (forced_early_z) @@ -324,7 +325,7 @@ static T GeneratePixelShader(DSTALPHA_MODE dstAlphaMode, API_TYPE ApiType) // D3D11 also has a way to force the driver to enable early-z, so we're fine here. if(ApiType == API_OPENGL) { - // This is a #define which signals whatever early-z method the driver supports. + // This is a #define which signals whatever early-z method the driver supports. out.Write("FORCE_EARLY_Z; \n"); } else @@ -332,7 +333,7 @@ static T GeneratePixelShader(DSTALPHA_MODE dstAlphaMode, API_TYPE ApiType) out.Write("[earlydepthstencil]\n"); } } - else if (bpmem.UseEarlyDepthTest() && (g_ActiveConfig.bFastDepthCalc || bpmem.alpha_test.TestResult() == AlphaTest::UNDETERMINED)) + else if (bpmem.UseEarlyDepthTest() && (!forced_slow_depth || bpmem.alpha_test.TestResult() == AlphaTest::UNDETERMINED)) { static bool warn_once = true; if (warn_once) @@ -561,11 +562,13 @@ static T GeneratePixelShader(DSTALPHA_MODE dstAlphaMode, API_TYPE ApiType) out.Write("\tint zCoord = int(" I_ZSLOPE".z + " I_ZSLOPE".x * screenpos.x + " I_ZSLOPE".y * screenpos.y);\n"); } - else if (!g_ActiveConfig.bFastDepthCalc) + else if (forced_slow_depth) { - // FastDepth means to trust the depth generated in perspective division. - // It should be correct, but it seems not to be as accurate as required. TODO: Find out why! - // For disabled FastDepth we just calculate the depth value again. + // Due to floating point round-trip issues some depth equations are not as accurate as required. + // Depth equations used in D3D and OGL with GL_ARB_clip_control are accurate, but older cards + // that do not support GL_ARB_clip_control are not accurate enough under OGL. So on these older + // cards we just calculate the depth value again. + // The performance impact of this additional calculation doesn't matter, but it prevents // the host GPU driver from performing any early depth test optimizations. out.SetConstantsUsed(C_ZBIAS+1, C_ZBIAS+1); @@ -574,6 +577,7 @@ static T GeneratePixelShader(DSTALPHA_MODE dstAlphaMode, API_TYPE ApiType) } else { + // Our D3D backend uses inverse depth values, so we invert them to the expected value here. if (ApiType == API_D3D) out.Write("\tint zCoord = int((1.0 - rawpos.z) * 16777216.0);\n"); else @@ -587,7 +591,7 @@ static T GeneratePixelShader(DSTALPHA_MODE dstAlphaMode, API_TYPE ApiType) uid_data->ztex_op = bpmem.ztex2.op; uid_data->per_pixel_depth = per_pixel_depth; uid_data->forced_early_z = forced_early_z; - uid_data->fast_depth_calc = g_ActiveConfig.bFastDepthCalc; + uid_data->forced_slow_depth = forced_slow_depth; uid_data->early_ztest = bpmem.UseEarlyDepthTest(); uid_data->fog_fsel = bpmem.fog.c_proj_fsel.fsel; uid_data->zfreeze = bpmem.genMode.zfreeze; @@ -595,6 +599,7 @@ static T GeneratePixelShader(DSTALPHA_MODE dstAlphaMode, API_TYPE ApiType) // Note: z-textures are not written to depth buffer if early depth test is used if (per_pixel_depth && bpmem.UseEarlyDepthTest()) { + // Our D3D backend uses inverse depth values, so we invert them back to the depth buffer value here. if (ApiType == API_D3D) out.Write("\tdepth = 1.0 - float(zCoord) / 16777216.0;\n"); else @@ -614,6 +619,7 @@ static T GeneratePixelShader(DSTALPHA_MODE dstAlphaMode, API_TYPE ApiType) if (per_pixel_depth && bpmem.UseLateDepthTest()) { + // Our D3D backend uses inverse depth values, so we invert them back to the depth buffer value here. if (ApiType == API_D3D) out.Write("\tdepth = 1.0 - float(zCoord) / 16777216.0;\n"); else diff --git a/Source/Core/VideoCommon/PixelShaderGen.h b/Source/Core/VideoCommon/PixelShaderGen.h index 3cc8071ce9..66611d82b1 100644 --- a/Source/Core/VideoCommon/PixelShaderGen.h +++ b/Source/Core/VideoCommon/PixelShaderGen.h @@ -42,7 +42,7 @@ struct pixel_shader_uid_data u32 fog_fsel : 3; u32 fog_RangeBaseEnabled : 1; u32 ztex_op : 2; - u32 fast_depth_calc : 1; + u32 forced_slow_depth : 1; u32 per_pixel_depth : 1; u32 forced_early_z : 1; u32 early_ztest : 1; diff --git a/Source/Core/VideoCommon/VertexShaderGen.cpp b/Source/Core/VideoCommon/VertexShaderGen.cpp index ad99b445c0..9518aa9dbf 100644 --- a/Source/Core/VideoCommon/VertexShaderGen.cpp +++ b/Source/Core/VideoCommon/VertexShaderGen.cpp @@ -333,7 +333,7 @@ static T GenerateVertexShader(API_TYPE api_type) else // OGL { // this results in a scale from -1..0 to -1..1 after perspective - // divide + // divide, but introduces a floating point round-trip error. out.Write("o.pos.z = o.pos.z * -2.0 - o.pos.w;\n"); // the next steps of the OGL pipeline are: diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index 257cc61fc6..4a4f9a3f53 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -71,7 +71,7 @@ void VideoConfig::Load(const std::string& ini_file) settings->Get("FreeLook", &bFreeLook, 0); settings->Get("UseFFV1", &bUseFFV1, 0); settings->Get("EnablePixelLighting", &bEnablePixelLighting, 0); - settings->Get("FastDepthCalc", &bFastDepthCalc, true); + settings->Get("ForcedSlowDepth", &bForcedSlowDepth, false); settings->Get("MSAA", &iMultisamples, 1); settings->Get("SSAA", &bSSAA, false); settings->Get("EFBScale", &iEFBScale, (int)SCALE_1X); // native @@ -165,7 +165,7 @@ void VideoConfig::GameIniLoad() CHECK_SETTING("Video_Settings", "ConvertHiresTextures", bConvertHiresTextures); CHECK_SETTING("Video_Settings", "CacheHiresTextures", bCacheHiresTextures); CHECK_SETTING("Video_Settings", "EnablePixelLighting", bEnablePixelLighting); - CHECK_SETTING("Video_Settings", "FastDepthCalc", bFastDepthCalc); + CHECK_SETTING("Video_Settings", "ForcedSlowDepth", bForcedSlowDepth); CHECK_SETTING("Video_Settings", "MSAA", iMultisamples); CHECK_SETTING("Video_Settings", "SSAA", bSSAA); @@ -282,7 +282,7 @@ void VideoConfig::Save(const std::string& ini_file) settings->Set("FreeLook", bFreeLook); settings->Set("UseFFV1", bUseFFV1); settings->Set("EnablePixelLighting", bEnablePixelLighting); - settings->Set("FastDepthCalc", bFastDepthCalc); + settings->Set("ForcedSlowDepth", bForcedSlowDepth); settings->Set("MSAA", iMultisamples); settings->Set("SSAA", bSSAA); settings->Set("EFBScale", iEFBScale); diff --git a/Source/Core/VideoCommon/VideoConfig.h b/Source/Core/VideoCommon/VideoConfig.h index bc0250ab2f..adfa20f65b 100644 --- a/Source/Core/VideoCommon/VideoConfig.h +++ b/Source/Core/VideoCommon/VideoConfig.h @@ -117,7 +117,7 @@ struct VideoConfig final std::string sPhackvalue[2]; float fAspectRatioHackW, fAspectRatioHackH; bool bEnablePixelLighting; - bool bFastDepthCalc; + bool bForcedSlowDepth; int iLog; // CONF_ bits int iSaveTargetId; // TODO: Should be dropped From fb2f8e49bb521c2acb3d4c42ba2ea7ff337d82c6 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Wed, 27 Jan 2016 18:27:20 +0100 Subject: [PATCH 2/3] Android: Remove FastDepthCalc option. --- .../dolphinemu/ui/settings/SettingsFragmentPresenter.java | 2 -- .../main/java/org/dolphinemu/dolphinemu/utils/SettingsFile.java | 1 - Source/Android/app/src/main/res/values-ja/strings.xml | 2 -- Source/Android/app/src/main/res/values/strings.xml | 2 -- 4 files changed, 7 deletions(-) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/settings/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/settings/SettingsFragmentPresenter.java index 72eaad9187..13e901b8fc 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/settings/SettingsFragmentPresenter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/settings/SettingsFragmentPresenter.java @@ -241,7 +241,6 @@ public final class SettingsFragmentPresenter Setting efbToTexture = mSettings.get(SettingsFile.SECTION_GFX_HACKS).getSetting(SettingsFile.KEY_EFB_TEXTURE); Setting texCacheAccuracy = mSettings.get(SettingsFile.SECTION_GFX_HACKS).getSetting(SettingsFile.KEY_TEXCACHE_ACCURACY); IntSetting xfb = new IntSetting(SettingsFile.KEY_XFB, SettingsFile.SECTION_GFX_HACKS, xfbValue); - Setting fastDepth = mSettings.get(SettingsFile.SECTION_GFX_HACKS).getSetting(SettingsFile.KEY_FAST_DEPTH); Setting aspectRatio = mSettings.get(SettingsFile.SECTION_GFX_HACKS).getSetting(SettingsFile.KEY_ASPECT_RATIO); sl.add(new HeaderSetting(null, null, R.string.embedded_frame_buffer, 0)); @@ -256,7 +255,6 @@ public final class SettingsFragmentPresenter sl.add(new SingleChoiceSetting(SettingsFile.KEY_XFB_METHOD, SettingsFile.SECTION_GFX_HACKS, R.string.external_frame_buffer, R.string.external_frame_buffer_descrip, R.array.externalFrameBufferEntries, R.array.externalFrameBufferValues, 0, xfb)); sl.add(new HeaderSetting(null, null, R.string.other, 0)); - sl.add(new CheckBoxSetting(SettingsFile.KEY_FAST_DEPTH, SettingsFile.SECTION_GFX_HACKS, R.string.fast_depth_calculation, R.string.fast_depth_calculation_descrip, true, fastDepth)); sl.add(new SingleChoiceSetting(SettingsFile.KEY_ASPECT_RATIO, SettingsFile.SECTION_GFX_HACKS, R.string.aspect_ratio, R.string.aspect_ratio_descrip, R.array.aspectRatioEntries, R.array.aspectRatioValues, 0, aspectRatio)); } diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/SettingsFile.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/SettingsFile.java index 12221cb0fe..aadfb7d454 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/SettingsFile.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/SettingsFile.java @@ -70,7 +70,6 @@ public final class SettingsFile public static final String KEY_TEXCACHE_ACCURACY = "SafeTextureCacheColorSamples"; public static final String KEY_XFB = "UseXFB"; public static final String KEY_XFB_REAL = "UseRealXFB"; - public static final String KEY_FAST_DEPTH = "FastDepthCalc"; public static final String KEY_ASPECT_RATIO = "AspectRatio"; public static final String KEY_GCPAD_TYPE = "SIDevice"; diff --git a/Source/Android/app/src/main/res/values-ja/strings.xml b/Source/Android/app/src/main/res/values-ja/strings.xml index 6fc9a8f7ea..df4796d2b4 100644 --- a/Source/Android/app/src/main/res/values-ja/strings.xml +++ b/Source/Android/app/src/main/res/values-ja/strings.xml @@ -195,8 +195,6 @@ 実機 Disable Destination Alpha 多くのタイトルで画面効果に使用されている、アルファ透過処理をスキップ 。 - 高速奥行き計算 - 深度値を計算するために精度の低いアルゴリズムを使用します。 はい diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml index e3e309ca73..6bdf0f99d0 100644 --- a/Source/Android/app/src/main/res/values/strings.xml +++ b/Source/Android/app/src/main/res/values/strings.xml @@ -304,8 +304,6 @@ Real Disable Destination Alpha Disables emulation of a hardware feature called destination alpha, which is used in many games for various effects. - Fast Depth Calculation - Uses a less accurate algorithm to calculate depth values. Aspect Ratio Select what aspect ratio to use when rendering From e4ef018706cd5c4aecd5602673b8edd740daad77 Mon Sep 17 00:00:00 2001 From: Jules Blok Date: Wed, 27 Jan 2016 21:53:54 +0100 Subject: [PATCH 3/3] GameSettings: Remove FastDepthCalc entries. Only Mini Ninjas and DKC currently have a known issues that require slow depth. --- Data/Sys/GameSettings/GBS.ini | 4 ---- Data/Sys/GameSettings/GM2.ini | 5 +---- Data/Sys/GameSettings/GM3.ini | 3 +-- Data/Sys/GameSettings/GMD.ini | 3 +-- Data/Sys/GameSettings/GQX.ini | 3 +-- Data/Sys/GameSettings/GZL.ini | 3 --- Data/Sys/GameSettings/NAE.ini | 3 --- Data/Sys/GameSettings/R44.ini | 1 - Data/Sys/GameSettings/RNJ.ini | 2 +- Data/Sys/GameSettings/S59.ini | 1 - Data/Sys/GameSettings/SF8.ini | 2 +- Data/Sys/GameSettings/SOU.ini | 5 +---- Data/Sys/GameSettings/WMJ.ini | 5 +---- 13 files changed, 8 insertions(+), 32 deletions(-) diff --git a/Data/Sys/GameSettings/GBS.ini b/Data/Sys/GameSettings/GBS.ini index 1cbb95786d..f9b4d92c48 100644 --- a/Data/Sys/GameSettings/GBS.ini +++ b/Data/Sys/GameSettings/GBS.ini @@ -17,7 +17,3 @@ EmulationIssues = [ActionReplay] # Add action replay cheats here. - -[Video_Settings] -FastDepthCalc = False - diff --git a/Data/Sys/GameSettings/GM2.ini b/Data/Sys/GameSettings/GM2.ini index 63cbd5eeec..3e0059c300 100644 --- a/Data/Sys/GameSettings/GM2.ini +++ b/Data/Sys/GameSettings/GM2.ini @@ -7,7 +7,7 @@ FPRF = True [EmuState] # The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationStateId = 4 -EmulationIssues = Shadows need fast depth enabled. +EmulationIssues = [OnLoad] # Add memory patches to be loaded once on boot here. @@ -17,6 +17,3 @@ EmulationIssues = Shadows need fast depth enabled. [ActionReplay] # Add action replay cheats here. - -[Video_Settings] -FastDepthCalc = True diff --git a/Data/Sys/GameSettings/GM3.ini b/Data/Sys/GameSettings/GM3.ini index 2828527275..5575cdf448 100644 --- a/Data/Sys/GameSettings/GM3.ini +++ b/Data/Sys/GameSettings/GM3.ini @@ -5,7 +5,7 @@ [EmuState] # The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationIssues = Needs real xfb for the videos to display. Shadow issues with fastdepth (D3D). +EmulationIssues = Needs real xfb for the videos to display. EmulationStateId = 4 [OnLoad] @@ -20,4 +20,3 @@ EmulationStateId = 4 [Video_Settings] UseXFB = True UseRealXFB = True -FastDepthCalc = False diff --git a/Data/Sys/GameSettings/GMD.ini b/Data/Sys/GameSettings/GMD.ini index c5b53f55a0..babc65013f 100644 --- a/Data/Sys/GameSettings/GMD.ini +++ b/Data/Sys/GameSettings/GMD.ini @@ -5,7 +5,7 @@ [EmuState] # The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationIssues = Needs real xfb for the videos to display. Shadow issues with fastdepth (D3D). +EmulationIssues = Needs real xfb for the videos to display. EmulationStateId = 4 [OnLoad] @@ -20,4 +20,3 @@ EmulationStateId = 4 [Video_Settings] UseXFB = True UseRealXFB = True -FastDepthCalc = False diff --git a/Data/Sys/GameSettings/GQX.ini b/Data/Sys/GameSettings/GQX.ini index 7b3270098a..881b29b8e2 100644 --- a/Data/Sys/GameSettings/GQX.ini +++ b/Data/Sys/GameSettings/GQX.ini @@ -5,7 +5,7 @@ [EmuState] # The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationIssues = Needs real xfb for the videos to display. Shadow issues with fastdepth (D3D). +EmulationIssues = Needs real xfb for the videos to display. EmulationStateId = 4 [OnLoad] @@ -20,4 +20,3 @@ EmulationStateId = 4 [Video_Settings] UseXFB = True UseRealXFB = True -FastDepthCalc = False diff --git a/Data/Sys/GameSettings/GZL.ini b/Data/Sys/GameSettings/GZL.ini index 0d0835cbba..484717aecb 100644 --- a/Data/Sys/GameSettings/GZL.ini +++ b/Data/Sys/GameSettings/GZL.ini @@ -21,8 +21,5 @@ EmulationIssues = EFBAccessEnable = True EFBToTextureEnable = False -[Video_Settings] -FastDepthCalc = False - [Video_Stereoscopy] StereoConvergence = 115 diff --git a/Data/Sys/GameSettings/NAE.ini b/Data/Sys/GameSettings/NAE.ini index 3cd86a92b6..bd6fa16fb8 100644 --- a/Data/Sys/GameSettings/NAE.ini +++ b/Data/Sys/GameSettings/NAE.ini @@ -17,9 +17,6 @@ EmulationIssues = [ActionReplay] # Add action replay cheats here. -[Video_Settings] -FastDepthCalc = True - [Video_Hacks] EFBToTextureEnable = False diff --git a/Data/Sys/GameSettings/R44.ini b/Data/Sys/GameSettings/R44.ini index b8df1e137b..edddbbfe95 100644 --- a/Data/Sys/GameSettings/R44.ini +++ b/Data/Sys/GameSettings/R44.ini @@ -21,4 +21,3 @@ EmulationIssues = [Video_Settings] SafeTextureCacheColorSamples = 512 -FastDepthCalc = False diff --git a/Data/Sys/GameSettings/RNJ.ini b/Data/Sys/GameSettings/RNJ.ini index 22e9646750..2875501335 100644 --- a/Data/Sys/GameSettings/RNJ.ini +++ b/Data/Sys/GameSettings/RNJ.ini @@ -18,4 +18,4 @@ EmulationIssues = # Add action replay cheats here. [Video_Settings] -FastDepthCalc = False +ForcedSlowDepth = True diff --git a/Data/Sys/GameSettings/S59.ini b/Data/Sys/GameSettings/S59.ini index c06fb585d8..c33f4f8443 100644 --- a/Data/Sys/GameSettings/S59.ini +++ b/Data/Sys/GameSettings/S59.ini @@ -19,5 +19,4 @@ EmulationStateId = 4 [Video_Settings] SafeTextureCacheColorSamples = 512 -FastDepthCalc = False diff --git a/Data/Sys/GameSettings/SF8.ini b/Data/Sys/GameSettings/SF8.ini index 68d1902e93..34dcd880ab 100644 --- a/Data/Sys/GameSettings/SF8.ini +++ b/Data/Sys/GameSettings/SF8.ini @@ -18,7 +18,7 @@ EmulationIssues = Sound crackling can be fixed by lle audio. # Add action replay cheats here. [Video_Settings] -FastDepthCalc = False +ForcedSlowDepth = True SafeTextureCacheColorSamples = 512 [Video_Stereoscopy] diff --git a/Data/Sys/GameSettings/SOU.ini b/Data/Sys/GameSettings/SOU.ini index 3c66b17351..97124c52f7 100644 --- a/Data/Sys/GameSettings/SOU.ini +++ b/Data/Sys/GameSettings/SOU.ini @@ -6,7 +6,7 @@ [EmuState] # The Emulation State. 1 is worst, 5 is best, 0 is not set. EmulationStateId = 4 -EmulationIssues = Needs real wiimote and motion plus. Time stone transition needs Fast Depth off. +EmulationIssues = Needs real wiimote and motion plus. [OnLoad] # Add memory patches to be loaded once on boot here. @@ -18,6 +18,3 @@ EmulationIssues = Needs real wiimote and motion plus. Time stone transition need [Video_Hacks] EFBAccessEnable = True EFBEmulateFormatChanges = True - -[Video_Settings] -FastDepthCalc = False diff --git a/Data/Sys/GameSettings/WMJ.ini b/Data/Sys/GameSettings/WMJ.ini index d79de217ca..859fd7d703 100644 --- a/Data/Sys/GameSettings/WMJ.ini +++ b/Data/Sys/GameSettings/WMJ.ini @@ -5,7 +5,7 @@ [EmuState] # The Emulation State. 1 is worst, 5 is best, 0 is not set. -EmulationIssues = Glitches in the game menu with fast depth enabled. +EmulationIssues = EmulationStateId = 4 [OnLoad] @@ -16,6 +16,3 @@ EmulationStateId = 4 [ActionReplay] # Add action replay cheats here. - -[Video_Settings] -FastDepthCalc = False