diff --git a/Source/Core/DolphinQt2/Config/Graphics/EnhancementsWidget.cpp b/Source/Core/DolphinQt2/Config/Graphics/EnhancementsWidget.cpp index 9d9b96482a..0d0c1915ac 100644 --- a/Source/Core/DolphinQt2/Config/Graphics/EnhancementsWidget.cpp +++ b/Source/Core/DolphinQt2/Config/Graphics/EnhancementsWidget.cpp @@ -24,8 +24,6 @@ #include "VideoCommon/PostProcessing.h" #include "VideoCommon/VideoConfig.h" -constexpr const char* DUBOIS_ALGORITHM_SHADER = "dubois"; - EnhancementsWidget::EnhancementsWidget(GraphicsWindow* parent) : GraphicsWidget(parent), m_block_save(false) { @@ -104,9 +102,9 @@ void EnhancementsWidget::CreateWidgets() auto* stereoscopy_layout = new QGridLayout(); stereoscopy_box->setLayout(stereoscopy_layout); - m_3d_mode = - new GraphicsChoice({tr("Off"), tr("Side-by-Side"), tr("Top-and-Bottom"), tr("Anaglyph")}, - Config::GFX_STEREO_MODE); + m_3d_mode = new GraphicsChoice( + {tr("Off"), tr("Side-by-Side"), tr("Top-and-Bottom"), tr("Anaglyph"), tr("HDMI 3D")}, + Config::GFX_STEREO_MODE); m_3d_depth = new GraphicsSlider(0, 100, Config::GFX_STEREO_DEPTH); m_3d_convergence = new GraphicsSlider(0, 200, Config::GFX_STEREO_CONVERGENCE, 100); m_3d_swap_eyes = new GraphicsBool(tr("Swap Eyes"), Config::GFX_STEREO_SWAP_EYES); @@ -200,7 +198,18 @@ void EnhancementsWidget::LoadSettings() // Post Processing Shader LoadPPShaders(); + + // Stereoscopy bool supports_stereoscopy = g_Config.backend_info.bSupportsGeometryShaders; + bool supports_3dvision = g_Config.backend_info.bSupports3DVision; + + bool has_3dvision = m_3d_mode->count() == 6; + + if (has_3dvision && !supports_3dvision) + m_3d_mode->removeItem(4); + + if (!has_3dvision && supports_3dvision) + m_3d_mode->addItem(tr("NVIDIA 3D Vision")); m_3d_mode->setEnabled(supports_stereoscopy); m_3d_convergence->setEnabled(supports_stereoscopy);